package com.basker.pisces.core.enums;

/**
 * 序列生成方式枚举
 *
 * @author hangwen
 */
public enum SequenceType {
    /**
     * 通过redis获取序列
     */
    Redis,

    /**
     * 通过数据库获取序列
     */
    Database,

    /**
     * 通过雪花算法获取序列
     */
    SnowFlake;

    public static SequenceType parse(String val) {
        if (Redis.name().equalsIgnoreCase(val)) {
            return Redis;
        }

        if (Database.name().equalsIgnoreCase(val)) {
            return Database;
        }

        if (SnowFlake.name().equalsIgnoreCase(val)) {
            return SnowFlake;
        }

        return SnowFlake;
    }
}
